//package com.inspur.edp.bef.dtgenerator.core.mgrImpl.mgrActionAssemblerFactory;
//
//import com.inspur.edp.bef.bizentity.operation.BizMgrAction;
//import com.inspur.edp.bef.bizentity.operation.BizOperation;
//import com.inspur.edp.bef.bizentity.operation.internalmgraction.IInternalMgrAction;
//import com.inspur.edp.bef.dtgenerator.core.BefCoreGenCtx;
//import com.inspur.edp.bef.spi.action.assembler.mgrAssemblerFactory.MgrActionAssemblerFactory;
//import com.inspur.edp.caf.generator.baseInfo.TypeInfo;
//import com.inspur.edp.caf.generator.item.ClassGenerator;
//import com.inspur.edp.caf.generator.item.ClassGeneratorContext;
//import com.inspur.edp.caf.generator.method.ClassMethodGenerator;
//import com.inspur.edp.cef.gencommon.MediateType;
//import com.inspur.edp.cef.generator.overall.Utils;
//import com.inspur.edp.das.commonmodel.IGspCommonModel;
//import org.eclipse.jdt.core.dom.Modifier.ModifierKeyword;
//
//public class MgrAssFactoryImplGenerator extends ClassGenerator {
//
//  // region Static Members
//  private static final String name = "MgrActionAssemblerFactory";
//
//  // region Basic Info
//  private BefCoreGenCtx coreGenCtx;
//
//  public MgrAssFactoryImplGenerator(BefCoreGenCtx coreGenCtx) {
//    super(coreGenCtx.getCompilationUnitInfo());
//    this.coreGenCtx = coreGenCtx;
//    coreGenCtx.setMgrActionAssFactoryImplType(
//        new MediateType(compileUnit.getPackageName(), getName()));
//  }
//
//  public static String getClassName(IGspCommonModel model) {
//    return model.getCode() + name;
//  }
//
//  @Override
//  protected ClassGeneratorContext createClassInfoContext() {
//    return new ClassGeneratorContext();
//  }
//
//  @Override
//  protected java.util.ArrayList<ModifierKeyword> getAccessModifier() {
//    return new java.util.ArrayList<ModifierKeyword>(
//        java.util.Arrays.asList(ModifierKeyword.PUBLIC_KEYWORD));
//  }
//
//  @Override
//  protected String getName() {
//    return getClassName(coreGenCtx.getBeGenCtx().getBE());
//  }
//  // endregion
//
//  @Override
//  protected TypeInfo setParentClass() {
//    return Utils.createTypeInfo(MgrActionAssemblerFactory.class);
//  }
//
//  @Override
//  protected java.util.ArrayList<com.inspur.edp.caf.generator.baseInfo.TypeInfo>
//      addParentInterfaces() {
//    return new java.util.ArrayList<TypeInfo>(
//        java.util.Arrays.asList(
//            coreGenCtx.getBeGenCtx().getMgrAssFactoryInterfaceType()));
//  }
//  // endregion
//
//  // region ChildGen
//  @Override
//  protected java.util.ArrayList<ClassMethodGenerator> createMethodGenerators() {
//    java.util.ArrayList<ClassMethodGenerator> rez = new java.util.ArrayList<ClassMethodGenerator>();
//    for (BizOperation item : coreGenCtx.getBeGenCtx().getBE().getBizMgrActions()) {
//      BizMgrAction action = (BizMgrAction) item;
//      if (action instanceof IInternalMgrAction) {
//        if (authorityChanged(action)) {
//          rez.add(new InternalMgrActionMethodImplGenerator(coreGenCtx, action));
//        }
//      } else {
//        if (!action.getIsRef() || authorityChanged(action)) {
//          rez.add(new CustomMgrActionMethodImplGenerator(coreGenCtx, action));
//        }
//      }
//    }
//    return rez;
//  }
//
//  //TODO: java版临时注释, 不影响功能暂时先return false使mgrActionAssembler不生成
//  private boolean authorityChanged(BizMgrAction action) {
//    return false;
//  }
//
//  // endregion
//}
